package com.hz.monitoring.module.hardware.controller.admin.sensor_tenant_resource.vo;

import com.hz.monitoring.module.hardware.controller.admin.vo.CustomFields;
import com.hz.monitoring.module.hardware.controller.admin.vo.CustomSensorAttribute;
import com.hz.monitoring.module.hardware.controller.admin.vo.CustomWarningAttribute;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import javax.validation.constraints.NotNull;
import java.util.List;
import java.util.Map;

/**
* 传感器租户配置 Base VO，提供给添加、修改、详细的子 VO 使用
* 如果子 VO 存在差异的字段，请不要添加到这里，影响 Swagger 文档生成
*/
@Data
public class SensorTenantResourceBaseVO {

    @ApiModelProperty(value = "MCU租户配置id", required = true)
    @NotNull(message = "MCU租户配置id不能为空")
    private Long mcuTenantResourceId;

    @ApiModelProperty(value = "MCU型号", required = true)
    @NotNull(message = "MCU型号不能为空")
    private String mcuModel;

    @ApiModelProperty(value = "绑定的MCU通道号", required = true)
    @NotNull(message = "通道号不能为空")
    private Integer mcuChannel;

    @ApiModelProperty(value = "型号", required = true)
    @NotNull(message = "型号不能为空")
    private String model;

    @ApiModelProperty(value = "名称", required = true)
    @NotNull(message = "名称不能为空")
    private String name;

    @ApiModelProperty(value = "备注")
    private String remark;

    @ApiModelProperty(value = "自定义的属性和值")
    private List<CustomSensorAttribute> attributeMetadata;

    @ApiModelProperty(value = "上报数据对应的值")
    private List<CustomFields> valueMetadata;

    @ApiModelProperty(value = "预警数据")
    private List<CustomWarningAttribute> warningMetadata;

    @ApiModelProperty(value = "租户编号")
    private Long tenantId;



}
